1. Technical Field
The present application relates generally to an improved data processing system and method. More specifically, the present application is directed to dynamically matching data service capabilities to data service level objectives.
2. Description of Related Art
Remote data storage is a feature, offered to and within businesses, that automatically backs up and stores data in a remote location. Remote data storage systems are customized to meet the individual customer's needs. Remote data storage provides a secure means to store data by ensuring the continuation of business in the event of a major disaster or even a server meltdown. One of the tasks facing administrators of remote data storage systems is the need to balance the capabilities of the storage devices of the system with the service level agreement that is committed to each customer. Balancing the capabilities of the storage devices with the service level agreements is an ongoing challenge as the service level agreements change over time and storage devices are added, removed, or fail within the storage system.
Some current products provide administrators the ability to quantify data related service level agreements and the storage capabilities of the system's storage devices. By attempting to match the agreements with the storage capabilities, administrators are able to determine, through labor intensive identification, if the storage capabilities required to meet the service level agreements exist. However, since remote data storage systems frequently change, the labor intensive matching of the service level agreements to the storage capability needs is burdensome to keep current at all times.
Additionally, when a problem arises, such as an application not responding due to a storage device failure, determining which storage subsystems are available to meet the requirements in the service level agreements is important. Current identification of available storage subsystems is also a labor intensive process. In current products, the quantification of storage devices to service level agreements is performed by defining data service level objective groups (DSLOGs) where the data service level objectives groups may be constrained by some metric, such as recovery time, recovery point, cost, read/write ratio, or some set of custom requirements. A DSLOG is a collection of data service level objectives (SLOs) that describe the service requirements that data has on the supporting data and storage services for a given business use. In the current products each DSLOG is stored as a configuration item in a database.
Additionally, storage devices have to be discovered and represented in the database. Capabilities for various storage devices can be quantified, which is also stored in the database. The collection of capabilities of storage devices, such as cost and read/write ratio, can be defined and stored as a data service capabilities (DSCs) object in the database. Each of the discovered storage devices can be associated with a particular DSC.
Therefore, in addition to the labor intensive process of identifying storage devices and DSLOGs and after creating DSCs for the storage devices, the administrators may still have to determine which DSCs fulfill the requirements stated in each DSLOG. If there are a large number of DSCs and DSLOGs, each specifying multiple objectives/capabilities, the matching of DSCs to DSLOGs is in itself a difficult task. Additionally, DSLOG to DSC mappings may become invalid if conditions change, thus, creating an exposure of failing to meet service agreements.